package com.tanhua.dubbo.api;

import com.tanhua.model.mongo.Movement;
import com.tanhua.model.vo.MovementsVo;
import com.tanhua.model.vo.PageResult;

import java.util.List;

/**
 * @program: tanhua
 * @description:
 * @author: MR.peng
 * @create: 2022-03-12 03:24
 **/
public interface MovementApi {
    //保存动态
    String save(Movement movement);


    //api根据用户id，查询此用户发布的动态列表 List<Movement>
    List<Movement> findByUserId(Long userId, Integer page, Integer pageSize);

    //根据好友id，查询此用户好友发布的动态列表
    List<Movement> findByFriendId(Long friendId,Integer page, Integer pageSize);

    /*
    * 根据动态id列表，查询动态数据
    * */
    List<Movement> findByIds(String[] movementIds, Integer page, Integer pageSize);

    /*
    * 随机查询动态数据
    * */
    List<Movement> randomMoveent(Integer count);

    //根据id查询动态
    Movement findById(String id);

    //更新状态
    void updateState(String movementId, Integer state);

    //根据用户id和状态查询动态
    PageResult findMovements(Long uid, Integer status, Integer page, Integer pagesize);

    //查看动态详情
    Movement findDetails(String id);

    // 动态通过 或 拒绝
    void updateStates(String[] ids, Integer state);
}
